//package com.atung.merchant.tool;
//
//import com.alibaba.fastjson.JSONObject;
//
//import javax.servlet.*;
//import javax.servlet.http.HttpServletRequest;
//import javax.servlet.http.HttpServletResponse;
//import java.io.IOException;
//import java.util.ArrayList;
//import java.util.List;
//import java.util.Objects;
//
//public class APIFilter  implements Filter {
//
//    private final List<String> noFilter=new ArrayList<>();
//    @Override
//    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
//        HttpServletRequest httpRequest=(HttpServletRequest) servletRequest;
//        if(Objects.equals(httpRequest.getMethod(),"OPTIONS")){
//            filterChain.doFilter(httpRequest, servletResponse);
//            return;
//        }
//        HttpServletResponse response = (HttpServletResponse) servletResponse;
//        String url = httpRequest.getRequestURI();
//        if(noFilter.contains(url)){
//            filterChain.doFilter(httpRequest, response);
//            return;
//        }
//        try {
//            if(VerifyToken.verifyApiFilter(httpRequest)){
//                System.out.println("成功");
//                filterChain.doFilter(httpRequest, response);
//            }else{
//                ServletOutputStream out = response.getOutputStream();
//                JSONObject jsonObject=new JSONObject();
//                jsonObject.put("code",401);
//                jsonObject.put("msg","请重新登录");
//                out.write(jsonObject.toJSONString().getBytes());
//                out.flush();
//                return ;
//            }
//
//        }catch (Exception e){
//            ServletOutputStream out = response.getOutputStream();
//            JSONObject jsonObject=new JSONObject();
//            jsonObject.put("code",401);
//            jsonObject.put("msg",e.getMessage());
//            out.write(jsonObject.toJSONString().getBytes());
//            out.flush();
//            return ;
//        }
//
//    }
//
//    @Override
//    public void  init(FilterConfig filterConfig) {
//        noFilter.add("/api/auth/login");
//        noFilter.add("//api/auth/login");
//        noFilter.add("/api/page/wxNotify");
//        noFilter.add("//api/page/wxNotify");
//        noFilter.add("/admin/login");
//        noFilter.add("/api/answer/login");
//        noFilter.add("/api/upFilesAiImage");
//        noFilter.add("//api/upFilesAiImage");
//
//    }
//}
